#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__author__ = "Administrator"
__mtime__ = "2016/6/17"
"""
#在新式类中的私有字段是只读，不可写，如果要可写，需要再创建一个@xxx.setter装饰的特性。
class Province(object):
    def __init__(self,name,capital,leader,flag):
        self.Name = name
        self.Capital = capital
        self.Leader = leader
        # 定义一个私有字段，外部无法直接访问
        self.__Thailand = flag

    # 一：外部无法访问，但是可以通过内部访问到。
    def read_Thailand(self):
        print self.__Thailand

    #二：使用属性方法将__Thailand变成一个静态属性。使之变成只读特性。
    @property
    def showThailand(self):
        return self.__Thailand

    # 使__Thailand私有字段变成可写，只需要调用Thailand属性并直接赋值即可(装饰器格式：@函数名.setter)
    # 如果私有变量要设置为只读不可写，则直接除去本段即可。
    @showThailand.setter
    def showThailand(self,value):
        self.__Thailand = value


japan = Province('日本','东京','dog',True)
japan.read_Thailand()   #调用方法读取私有字段
print japan.showThailand    #使用属性方法读取私有字段
japan.showThailand = False     #更改类中的私有字段__Thailand
print japan.showThailand

'''
输出结果：
True
True
False
'''